Smart buoyancy assistant

ABSTRACT

A diving system can include a smart buoyancy assistant to automatically adjusts the amount of air in the buoyancy control device (BCD) to maintain buoyancy control during the descent, level hold, or ascent of a dive. In some instances, the smart buoyancy assistant is automatically activated when the system is submerged to a predetermined activation depth. Additionally, the smart buoyancy assistant can add air to the BCD if the system drops below a predetermined maximum depth. The system can capture data representing dive metrics and sensor data and can report such data to a computing device to further aggregate the data and generate dive models to improve the performance of the system. The computing device can use the aggregated data to perform dive analysis and determine if the system is over or under adjusting the amount of air to improve the dive models.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation-in-part of, and claims priority to, commonly assigned U.S. patent application Ser. No. 15/895,733, entitled “SMART BUOYANCY COMPENSATION DEVICES” and filed on Feb. 13, 2018, of which the entire contents are incorporated herein by reference. The U.S. patent application Ser. No. 15/895,733 claims the benefit of U.S. Provisional Patent Application No. 62/458,532, filed on Feb. 13, 2017, and is incorporated herein by reference. The U.S. patent application Ser. No. 15/895,733 is also a continuation-in-part application of U.S. patent application Ser. No. 15/607,609, filed May 29, 2017, which is a continuation-in-part of U.S. Pat. No. 9,663,203, filed Feb. 19, 2016, the content all of which is incorporated herein by reference. U.S. Pat. No. 9,663,203 is a continuation-in-part of U.S. patent application Ser. No. 13/432,063, filed Mar. 28, 2012, now abandoned and U.S. patent application Ser. No. 14/059,496, filed Oct. 22, 2013, now abandoned, the content all of which is incorporated herein by reference.

BACKGROUND

Scuba diving is a highly gear dependent activity that uses a self-contained underwater breathing apparatus (scuba) to allow a diver to breathe underwater. Due to potential danger, scuba diving recreationally is a buddy activity so that divers will have another diver to provide assistance in case of gear failure. Even with the assistance of a dive buddy, diving can still result in sickness or death due to human error. In particular, the diver breathes in a gas mix including oxygen and nitrogen underwater which can be absorbed into the body. Absorbed in high amounts, oxygen can cause oxygen toxicity and nitrogen can cause nitrogen narcosis. The amount of gas absorbed can increase based on the depth of the dive, thus maintaining depth control is important. Divers may slowly ascend and do a decompression stop, also known as safety stop, to eliminate some of the gas absorbed. The diver may wear a dive computer to monitor the dive profile and provide safety stop time.

To further compensate for potential gear failure, divers will often dive with two dive computers. However, even with a dive buddy, a dive computer, and a backup dive computer, a diver can easily be distracted into falling below a maximum depth or accidently “pop” out of the water during an ascent.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is set forth with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items or features.

FIG. 1 illustrates an example environment including a diving system with a dive device including a buoyancy assistance component to control a descent to a maximum depth, as described herein.

FIG. 2 illustrates an example dive device configured to implement the buoyancy assistance component, in accordance with embodiments of the disclosure.

FIG. 3 illustrates an example computing device configured to train a diving model to implement the buoyancy assistance component, in accordance with embodiments of the disclosure.

FIG. 4 illustrates an example user interface of the dive device implementing a buoyancy assistance component, as discussed herein.

FIG. 5 illustrates an example process for activating a buoyancy assistance component and controlling a descent toward maximum depth, as discussed herein.

FIG. 6 illustrates an example process for activating and performing a level hold function with the buoyancy assistance component, as discussed herein.

FIG. 7 is a block diagram showing an exemplary buoyancy control system for raising and lowering an aquatic structure.

FIG. 8 is a diagram illustrating the abilities of a smart buoyancy compensation device utilized in diving that provides automated hands free controlled descent, depth limit, hover, and controlled ascent.

FIG. 9 shows the SBCD buoyancy tube structure as utilized in aquaculture applications.

FIG. 10 shows a top view of an SBCD controlled aquatic structure having sections of adjustable depth rings from which seaweed may hang as it grows (seaweed farming).

FIG. 11 shows a SBCD harvest bag recovery system.

FIG. 12 shows a SBCD lobster pot retrieval system.

FIG. 13 shows a SBCD salvage operations system.

FIG. 14 shows a SBCD unexploded bomb removal system.

FIG. 15 shows a SBCD trawler, or hanging fishing net system.

FIG. 16 shows a SBCD smart buoy aqua-forest.

FIG. 17 shows a SBCD controlled fish pen system.

FIG. 18 shows a SBCD winch activated depth control system.

FIG. 19 shows a SBCD water pressure depth control system.

FIG. 20 shows cross sections of the hard shell pipe buoyancy adjusting buoy.

FIG. 21 shows a SBCD depth and buoyancy control system for non-parallel moorings.

FIG. 22 shows a vent valve according to the present invention in the state where the valve is closed. The valve in this example and the following drawings includes provision for powered actuation, which is desirable but not a necessary feature of the valve.

FIG. 23 shows a vent valve according to the present invention in the state where the valve is open through manual actuation or over-pressure.

FIG. 24 shows a vent valve according to the present invention in the state where the valve is open through automatic actuation channel only.

FIG. 25 shows a vent valve according to another embodiment of the present invention in the state where the valve is closed through automatic actuation channel only.

FIG. 26 shows an example of a SBCD diving vest.

DETAILED DESCRIPTION

Systems, devices, and methods are directed to a diving system that is configured to automatically perform buoyancy compensation functions for dive equipment based on user-triggered or auto-triggered functions. The diving system may automatically trigger a safety function to keep a diver from dangerous conditions. These dangerous conditions include diving beyond a maximum depth, descending too fast, and ascending too fast. The diving system may receive input for user-triggered functions to perform a normal ascent, a rapid ascent, or a level hold function. The level hold function allows a diver to remain at or near a predetermined depth while underwater. The diving system may use data from one or more sensors to determine whether to adjust an amount of air in the dive equipment (e.g., a buoyancy control device (BCD)) to “hover” at predetermined depth (e.g., to maintain a predetermined depth while underwater). To maintain a depth level at the predetermined depth, the system adjusts the air in the dive equipment to establish neutral buoyancy. Initially, the system may be activated by a diver using or controlling the dive equipment.

Once a level hold function is activated, the system may control an air valve and vent to automatically add or remove air, respectively, from the dive equipment to perform the function. Because air is a critical consumable resource underwater, the system intelligently manages air consumption by adding or removing air as appropriate to maintain buoyancy control. Additionally, because large bodies of water may have naturally occurring currents or movement, the system may use one or more sensors to capture data to determine, based on the type of movement detected, whether the to: (1) refrain from adding or removing air; (2) deactivate a level hold function; or (3) perform a level hold function. Furthermore, the system may use one or more sensors to measure data for various factors (e.g., hovering depth, salinity of water, altitude of the body of water, etc.) that affects buoyancy control underwater.

In various examples, the system may determine to refrain from adding or removing air if the movement detected is based on expected underwater movement. For instance, if the diver using the diving equipment has established neutral buoyancy at a predetermined depth, the system may detect up and down movement associated with natural breathing cycles of the diver. Accordingly, the system detecting a slight up and down rhythmic movement may determine to not compensate for changes in depth if the movement occurs within various time and/or depth parameters.

In some examples, the system may deactivate a level hold function if the system determines that the diver using the diving equipment is proceeding upward or downward with intent. For instance, a diver may approach an object in an environment, such as a reef wall, and want to dive under an opening. In the present example, the system may determine that the diver is proceeding with intent and may deactivate itself to allow the diver to move freely rather than to control a buoyance of the system to maintain a depth. The diver may manually reactivate the level hold function when done exploring.

In additional examples, the system may use one or more machine learning algorithms to classify the movement type. As described herein, correctly identifying the movement type allows the system to determine whether it needs to add or remove air to maintain buoyancy control without wasting air by performing unnecessary compensation functions. In some examples, the system may learn the hovering depth variation for individual divers based on saved diver profiles. For instance, a diver with a larger lung capacity may exhibit greater hovering depth variation, thus exhibit more up and down movement, than a diver with smaller lung capacity.

The systems, devices, and techniques described herein can improve the safety of diving systems by providing a hands-free controlled descent, level hold, and ascent. The controlled descent allows divers to focus on equalizing the fast changes to pressure in their ears to avoid damaging them. The controlled level hold prevents the diver from diving deeper than a safe maximum depth. The controlled ascent prevents the diver from ascending too quickly, which may address a scenario where a diver does not allow enough time for decompression stop to prevent nitrogen narcosis. Additionally, the systems, devices, and techniques discussed herein can improve the functions of diving systems by capturing dive metrics to identify areas where the system is overcompensating in buoyancy control, which may allow the diving system to conserve air that would otherwise be wasted without the instant techniques. Moreover, by constantly monitoring dive metrics, the diving system may learn how to tune the air compensation algorithm based on individual user profile. By tuning the air compensation algorithm, the diving system may increase efficiency in managing air consumption. These and other improvements to the functioning of a diving system are discussed herein.

The systems, devices, and techniques described herein can be implemented in a number of ways. Example implementations are provided below with reference to the following figures.

FIG. 1 illustrates an example environment 100 including a diver using a diving system with a dive device 102 including a buoyancy assistance to control the descent to a maximum depth, as described herein. Further, FIG. 1 illustrates transmitting diving data to a computing device to train a diving model, as described herein.

In some instances, a dive device 102 can include a buoyancy assistance component 104 and a reporting component 106. In general, the dive device 102 can be a part of a diving system including a buoyancy control device (BCD), BCD air controller, and air inflator hose. The dive device 102 can receive sensor data from the dive system and determine one or more dive metrics associated with the data. The sensor data may be received from one or more sensor that provide information on ambient conditions, including underwater depth, salinity, pressure, wave force, altitude of the body of water, velocity, acceleration, or any parameter that may be needed as known to those skilled in the art to control buoyancy ascent, descent and the like.

The buoyancy assistance component 104 may determine to add or remove air from the buoyancy control device (BCD). Additional details of the buoyancy assistance component 104 are discussed in FIG. 8, below. To add or remove air, the buoyancy assistance component 104 may interact with a BCD air controller to control one or more vent valves in various fashions which may vary in duration. Generally, the one or more vent valves may be controlled to add air to the BCD in quick bursts (e.g., to mimic actuating a valve quickly as a diver would), via “puffs” (e.g., for small amount of air compensation associated with a duration that is longer than a burst), or by holding the vent valve open for larger volumes of air. To add air, the BCD air controller may open an inflation inlet valve to add air to the BCD. To remove air, the BCD air controller may open an exhaust outlet valve to release air from the BCD.

The buoyancy assistance component 104 may include a diving algorithm to determine the amount of air compensation needed. The buoyancy assistance component 104 may operate in different modes based the on the user or automatic triggered functions. The buoyancy assistance component 104 may continuously monitor sensors during a dive and may automatically trigger safety function to correct dangerous conditions. These dangerous conditions include diving beyond a maximum depth, descending too fast, and ascending too fast. The user triggered functions may include level hold, normal ascent, and rapid ascent.

The buoyancy assistance component 104 may include operation modes that correspond to triggered functions including, but not limited to, level hold mode, normal ascent mode, and/or rapid ascent mode. Additionally, the operation modes include interim modes for the functions including descent mode and safety stop mode. A triggered function and operation mode may be any combination of the operation modes. For instance, a normal ascent function may begin with a normal ascent mode to ascend at a controlled rate and switch to safety stop mode as it approaches safety stop depth. The safety stop mode may operate as a level hold mode at the safety stop depth for a predetermined safety stop time.

In a level hold mode, the buoyancy assistance component 104 may adjust the amount of air in the BCD to hover at or near a predetermined depth level. To maintain a depth level at the predetermined depth, the buoyancy assistance component 104 adjusts the air in the dive equipment to establish neutral buoyancy. Because large bodies of water may have naturally occurring currents or movement, the buoyancy assistance component 104 may use one or more sensors to capture data to determine, based on the type of movement detected, whether the to: (1) refrain from adding or removing air; (2) deactivate a level hold mode; or (3) perform a level hold mode. The buoyancy assistance component 104 may determine to refrain from adding or removing air if the movement detected is based on expected underwater movement. For instance, if the buoyancy assistance component 104 has established neutral buoyancy at a predetermined depth, the system may detect up and down movement associated with natural breathing cycles of the diver. Accordingly, the system detecting a slight up and down rhythmic movement may determine to not compensate for changes in depth if the movement occurs within various time and/or depth parameters.

In a normal ascent mode, the buoyancy assistance component 104 may adjust the amount of air in the BCD to provide a controlled ascent rate at or slower than a maximum ascent speed. The buoyancy assistance component 104 may add small puffs of air in the BCD to initiate an ascent at a controlled ascent rate. If the buoyancy assistance component 104 determines that the current ascent rate is at or exceeds the maximum ascent speed, the buoyancy assistance component 104 may open the exhaust vent valve to rapidly remove air from the BCD. As described herein, the normal ascent function may begin with a normal ascent mode to ascend at the controlled ascent rate and switch to safety stop mode as it approaches safety stop depth. The safety stop mode may operate as level hold mode at the safety stop depth for the predetermined safety stop time. Then, after the predetermined safety stop time has lapse, the normal ascent mode may resume and bring the diver up to the surface.

In a rapid ascent mode, the buoyancy assistance component 104 may adjust the amount of air in the BCD to provide a rapid ascent rate at or slower than a maximum rapid ascent speed. The rapid ascent mode may operate as normal ascent mode with the controlled ascent rate adjusted to rapid ascent rate. In some examples, the rapid ascent mode may be triggered by a low air level. For example, the buoyancy assistance component 104 may determine that the current air level is below a safe threshold, generate an alert about the air level, and prompt the user to initiate a rapid ascent function.

In a descent mode, the buoyancy assistance component 104 may adjust the amount of air in the BCD to provide a controlled descent rate at or slower than a maximum descent speed. The descent mode is activated by the user removing air from the BCD, primarily at the surface. Dive equipment worn by a user floating at the surface may be fully submerged (e.g., 3 feet or 1 meter if worn on wrist) but the system should remain dormant. Once the buoyancy assistance component 104 detects that the dive system is descending and has submerged to or past activation depth (e.g., 5 feet, 10 feet, 15 feet, etc.), the buoyancy assistance component 104 may automatically trigger a level hold function at the maximum depth and operate in descent mode. If the buoyancy assistance component 104 determines that the current descent rate is at or exceeds the maximum descent speed, the buoyancy assistance component 104 may add small puffs of air in the BCD to slow the descent rate. As described herein, the controlled descent allows divers to focus on equalizing the fast changes to pressure in their ears to avoid damaging them. To further help divers with more sensitive ears, the buoyancy assistance component 104 may include a slow descent mode, which is the descent mode with a slower descent rate or short pauses added. For instance, because the changes to pressure is more obvious to a diver at approximately 15 feet, divers with issues equalizing may prefer to hold at or near 15 feet to equalize before descending further. In the present example, the diver with known issues equalizing may select a slow descent mode with slower descent rate and/or hold time at a specific depth level (e.g., level holding at 3 meters or 15 feet for 30 seconds or 1 minute) to allow the diver to equalize at the depth level before descending further.

In safety stop mode, the buoyancy assistance component 104 may determine the safety stop based on a dive profile. The dive profile is the diver's pressure exposure over time determined by the dive depth and time. The buoyancy assistance component 104 may determine the safety stop depth and the safety stop time based on the dive profile. As described herein, the safety stop mode may operate as level hold mode at the safety stop depth for the safety stop time. Then after the safety stop time has lapse, a normal ascent mode may resume to bring the diver up to the surface.

After the dive is complete, in an example surface environment 114, when the dive device 102 is out of the water, the dive device 102 can communicate with one or more computing device(s) 112 via one or more network(s) 110. In some examples, the network(s) 110 may be any type of network known in the art, such as the Internet. Moreover, the computing device(s) 112 and/or the dive device 102 may communicatively couple to the network(s) 110 in any manner, such as by a wired or wireless connection. In at least one configuration, the computing device(s) 112 may include any components that may be used to facilitate interaction between the dive device 102. For example, the computing device(s) 112 may include a diving data component 118 and a diving model component 120.

The diving data component 118 may collect dive metrics from the dive device 102. In some examples, the dive metrics may include the data for each dive including the user profile, surface condition data (e.g., altitude of the body of water), and/or sensor data collected over time during a dive (e.g., dive profile which maps the depth over time). In various examples, the diving data component 118 may collect dive metrics (e.g., dive data 116) from multiple dive devices and aggregate data for training models. The diving data component 118 may also collect sensor data to improve the diving algorithm. The sensor data may be received from a plurality of sensors that provide information on ambient conditions, including underwater depth, salinity, pressure, wave force, altitude of the body of water, velocity, acceleration, or any parameter that may be needed as known to those skilled in the art to control buoyancy ascent, descent and the like. The sensor data may also include the air added and removed automatically by the system and manually by the user.

The diving model component 120 may use the aggregated data from the diving data component 118 to train one or more diving models. The diving models may determine the air compensation needed during a dive. The diving model component 120 may also use the additional aggregated data from the diving data component 118 to improve the diving models to use less air or make less adjustments. For instance, the diving model component 120 may improve diving models to use less air based on learning the hover delta, which is the hovering depth variation determined by the amount of normal up and down movement from a diver's breathing and avoid providing air compensation in response. In the present example, a diver with a larger lung capacity may exhibit greater hovering depth variation, thus exhibit more up and down movement, than a diver with smaller lung capacity. The diving model component 120 may learn the hovering depth variation for individual divers based on saved dive metrics and stored user profile including hovering depth variation and may increase the hover delta accordingly to reduce the amount of compensation.

In additional examples, the diving model component 120 may also improve the diving models to classify the types of movement detected. As described herein, the system may use one or more sensors to capture data to determine, based on the type of movement detected, whether the to: (1) refrain from adding or removing air; (2) deactivate a level hold function; or (3) perform a level hold function. The types of movement correspond to: (1) a diver's breathing variation; (2) a diver proceeding vertically with intent; and (3) a jerk movement (e.g., unintentional kick). The system may deactivate a level hold function if the system determines that the diver using the diving equipment is proceeding upward or downward with intent. By learning the hover delta, the diving model component 120 may improve its classification of movement types.

Additionally, because air compensation while level holding at a predetermined depth is in small puffs of air, the diving model component 120 may learn to control the vent valve to minimize the amount of “puffs” needed when adding or removing air to avoid constant puffing sound, which can be distracting to a diver.

Examples of the computing device(s) 112 can include, but are not limited to, portable computers, laptop computers, servers, electronic book devices, or any other portable electronic devices that can generate, request, receive, transmit, or exchange data over a network. The computing device(s) 112 may be implemented in a non-distributed computing environment or may be implemented in a distributed computing environment, possibly by running one or more modules on computing device(s) 112 or other remotely located devices. The computing device(s) 112 may be any type of server, such as a network-accessible server. A user may operate the computing device(s) 112 using any input/output devices including but not limited to mouse, monitors, displays, augmented glasses, keyboard, cameras, microphones, speakers, and headsets.

In some instances, the dive device 102 can communicate with any number of user dive equipment, other dive devices, servers, computing devices, and the like.

In the present example, the example environment 100 can illustrate an instance of a diver using a diving system including buoyancy assistance to control the descent to a maximum depth. For example, the buoyancy assistance activates its descent mode when the diving system is below an activation depth (e.g., 1 meter, 3 feet). In the present example, buoyancy assistance component 104 is operating at descent mode and the preset maximum depth for this dive is 12 meters. The buoyancy assistance component 104 may adjust the amount of air in the BCD to provide a controlled descent rate at or slower than maximum descent speed of 7.3 meters per minute. In some examples, a maximum descent speed may be set at other values and is not limited to the specific example discussed herein. The buoyancy assistance component 104 may switch to level hold as it approaches the maximum depth. In a level hold mode, buoyancy assistance component 104 may adjust the amount of air in the BCD to hover at the predetermined maximum depth.

Following the dive, once out of the water, in the example surface environment 114, the dive device 102 may connect to the to the computing device(s) 112 through the network(s) 110 and may send diving data 116 to train diving models.

FIG. 2 illustrates an example dive device 200 configured to implement the buoyancy assistance, in accordance with embodiments of the disclosure. In some embodiments, the dive device 200 can correspond to the dive device 102 of FIG. 1. It is to be understood in the context of this disclosure that the dive device 200 can be implemented as a single device or as a plurality of devices with components and data distributed among them. By way of example, and without limitation, the dive device 200 can be implemented as various dive devices 102(1), 102(2), . . . , 102(N).

As illustrated, the dive device 200 comprises a memory 202 storing a buoyancy assistance component 204, a user profile component 206, a sensor component 208, a diving model component 210, a control component 212, and a reporting component 214. Also, the dive device 200 includes processor(s) 216, a removable storage 218 and non-removable storage 220, input device(s) 222, output device(s) 224, and transceiver(s) 226.

In various embodiments, memory 202 is volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. The buoyancy assistance component 204, the user profile component 206, the sensor component 208, the diving model component 210, the control component 212, and the reporting component 214 stored in the memory 202 can comprise methods, threads, processes, applications or any other sort of executable instructions. The buoyancy assistance component 204, the user profile component 206, the sensor component 208, the diving model component 210, the control component 212, and the reporting component 214 can also include files and databases.

The buoyancy assistance component 204 can include functionality to maintain buoyancy control of the diving system during a dive, as discussed herein. The buoyancy assistance component 204 can include functionality to determine one or more metrics associated with a sensor data received, detected, or otherwise monitored by the dive device 200. For example, the buoyancy assistance component 204 can determine metrics including but not limited to current depth, descent speed, ascent speed, air remaining, and the like. For instance, the buoyancy assistance component 204 can receive sensor data from a water pressure sensor to determine the current depth and an air pressure sensor to determine percentage of air left in air cylinder. The buoyancy assistance component 204 can control software and/or hardware associated with a transceiver of the dive device to monitor conditions at the dive device and to provide metrics (e.g., dive profile, air consumption during dive, manual overrides, etc.) indicative of the dive conditions to a computing device for subsequent analysis. The buoyancy assistance component 204 can send the metrics to a computing device to aggregate and analyze the metrics.

In some instances, the buoyancy assistance component 204 may determine to add or remove air from the buoyancy control device (BCD). To add air, the buoyancy assistance component 204 may interact with the control component 212 to control one or more vent valves in quick bursts or “puffs” (e.g., 0.5 seconds, 0.2 seconds, etc.), to imitate the quick actuation of buttons like a diver would perform, for small amount of air compensation. The control component 212 may also hold the vent valve open for large amount air compensation. The buoyancy assistance component 204 may include a diving algorithm to determine the amount of air compensation needed. In various examples, the buoyancy assistance component 204 may determine amount of air compensation needed relative to a current depth because air is more compressed at a deeper level than closer to the surface based on pressure. The buoyancy assistance component 204 may perform different functions based on different operation modes and the air compensation may depend on the operation modes. The operation modes may include descent, level hold, normal ascent, or rapid ascent, as described herein.

In various examples, the buoyancy assistance component 204 may include safety functions that are always on during a dive including maintaining maximum dive depth, maximum ascent speed, and maximum descent speed. For instance, in response to falling below the maximum dive depth setting, the buoyancy assistance component 204 can activate level hold mode to add air to the BCD and bring the hover level back to maximum dive depth. If the current rate of descent is at a speed higher than the maximum descent speed setting, the buoyancy assistance component 204 can activate descent mode to add air to the BCD to slow the descent. If the current rate of ascent is at a speed higher than the maximum ascent speed setting, the buoyancy assistance component 204 can activate ascent mode to remove air from the BCD to slow the ascent.

In examples, in level hold mode, the buoyancy assistance component 204 may adjust the amount of air in the BCD to hover at the predetermine depth level. To “hover” or maintain level at the predetermined depth, the buoyancy assistance component 204 can adjust the air in the BCD to establish neutral buoyancy. The level hold mode may be activated by a diver using or controlling the dive equipment or it may be activated by the buoyancy assistance component 204 in descent mode as it approaches a maximum depth.

Once level hold mode is activated, the buoyancy assistance component 204 may determine to add or remove air from the dive system to perform the level hold function. Because air is a critical consumable resource underwater, the buoyancy assistance component 204 intelligently manages air consumption by adding or removing air as appropriate to maintain buoyancy control. Additionally, because large bodies of water may have naturally occurring currents or movement, the buoyancy assistance component 204 may use one or more sensors to capture data to determine, based on the type of movement detected, whether the to: (1) refrain from adding or removing air; (2) deactivate a level hold function; or (3) perform a level hold function.

In various examples, the buoyancy assistance component 204 may determine to refrain from adding or removing air if the movement detected is based on expected underwater movement. For instance, if the diver using the diving equipment has established neutral buoyancy at a predetermined depth, the system may detect up and down movement associated with natural breathing cycles of the diver. Accordingly, the buoyancy assistance component 204 detecting a slight up and down rhythmic movement may determine to not compensate for changes in depth if the movement occurs within various time and/or depth parameters.

In some examples, the buoyancy assistance component 204 may deactivate level hold function if the system determines that the diver using the diving equipment is proceeding upward or downward with intent. For instance, a diver may approach a reef wall and want to dive under an opening. In the present example, the buoyancy assistance component 204 may determine that the diver is proceeding with intent and may deactivate level hold mode to allow the diver to move freely rather than try to maintain buoyancy control in a situation not desired.

In various examples, in normal ascent, the buoyancy assistance component 204 may adjust the amount of air in the BCD to provide a controlled ascent rate at or slower than max ascent speed, hold at safety stop depth for the safety stop time, and complete ascent after safety stop time. In rapid ascent, the buoyancy assistance component 204 may adjust the amount of air in the BCD to provide a rapid ascent rate at or slower than max rapid ascent speed, hold at safety stop depth for the safety stop time, and complete ascent after safety stop time.

In some instances, the buoyancy assistance component 204 can be implemented as an application operating on the dive device 200. In some instances, the buoyancy assistance component 204 can include functionality to present a user interface on the dive device 200, for example, to receive an indication from a user enabling or disabling different operation modes and/or functions of the buoyancy assistance component 204. For example, in some instances, a user of the dive device 200 can deactivate the level hold function based on personal preferences or to explore an area with lots of up and down movement. Then, the user may wish to hover at current depth by reactivating the level hold function, and the like. In additional examples, the buoyancy assistance component 204 can continuously monitor sensor data and generate alerts to present to the user via the user interface. For instance, if the buoyancy assistance component 204 detects one or more unsafe condition based on meeting one or more criteria including diving beyond maximum depth, ascending to quickly, low air level, failing safety stop, or descending too quickly, the buoyancy assistance component 204 may generate an alert indicating the unsafe condition.

In some instances, the buoyancy assistance component 204 can correspond to the buoyancy assistance component 104 of FIG. 1 and the buoyancy assistance component 304 of FIG. 3.

The user profile component 206 can include functionality to allow a user to create one or more user profiles, for example. In some instances, the user profile component 206 can provide user specific data to the buoyancy assistance component 204. Initially, the user profile may include default preference settings for diving including one or more decompression stop depths, one or more decompression stop intervals, depth thresholds such as a maximum dive depth, depth ascent rates such as a maximum ascent rate, depth descent rates such as a maximum descent rate, a surface air consumption rate, and/or air source metrics such as a size or volume of an available air supply (e.g., Aluminum S80, which holds 80 cubic feet of compressed air at 3,000 psi, which is 11 liters (0.39 cubic feet) of cylinder size). The user may change any of the preference settings and the user profile component 206 may store the changed settings.

In some examples, the system may learn the hovering depth variation for individual divers based on saved dive metrics and the user profile component 206 may store the hovering depth variation, as hover delta, for the user profile. For instance, a diver with a larger lung capacity may exhibit greater hovering depth variation, thus exhibit more up and down movement, than a diver with smaller lung capacity. In additional examples, the user profile may store information related to diving equipment that may affect buoyancy, including wetsuit thickness or type of dry suit, dive weights, and the like. A single user may create multiple user profiles with different diving equipment and/or different threshold alarm settings (e.g., conservative air reserve setting).

In various examples, the user profile component 206 can also store special dive modes with additional default preference settings. For instance, because the changes to pressure is more obvious to a user at approximately 15 feet, users with issues equalizing may prefer to hold at or near 15 feet to equalize before descending further. In the present example, the user with known issues equalizing may select a slow descent mode with slower descent rate and/or hold time at a specific depth level (e.g., level holding at 3 meters or 15 feet for 30 seconds or a minute) to allow the user to equalize at the depth level before descending further after the time has elapsed. The special dive modes may be pre-selected by the user while setting up their user profile before starting the dive.

The sensor component 208 can include functionality to receive and process sensor data from one or more sensors (e.g., a barometer, a water pressure sensor, a temperature sensor, a salinity sensor, an air pressure sensor (e.g., of an air supply), timer, accelerometer, GPS, etc.), as discussed herein. The sensor data may be received from one or more sensor that provide information on ambient conditions, including underwater depth, salinity, pressure, wave force, altitude of the body of water, velocity, acceleration, or any parameter that may be needed as known to those skilled in the art to control buoyancy ascent, descent and the like. In some instances, the sensor component 208 can use one or more sensors to measure data for various factors (e.g., hovering depth, salinity of water, altitude of the body of water, air remaining in air cylinder, etc.) that affects buoyancy control underwater. In various examples, the sensor component 208 can include functionality to present processed sensor data on a user interface on the dive device 200, for example, to indicate dive metrics including current depth, air remaining in air cylinder, current ascent/descent rate, total dive time, current time, temperature, time to surface (TTS), and remaining no-decompression time (NDT).

In some instances, the sensor component 208 can take priority over resources of the dive device 200 to provide assistant to the user. That is, if the buoyancy assistance component 204 is on level holding, and if the sensor component 208 subsequently determines that the current air level is below a threshold air level, in some instances, the sensor component 208 can activate the rapid ascent mode on the buoyancy assistance component 204. For example, the sensor component 208 can determine remaining air level based on air pressure and may present this information as percent of air remaining or air level based on pressure (PSI), remaining downtime, etc. to evaluate resources of the dive device 200. Further, the sensor component 208 can determine that the air level is above or below a threshold value, for example, to determine whether the remaining amount of air is sufficient for expected levels of activity include ascending and safety stop for ascending. In some instances, the sensor component 208 can gather additional data for the diving model to use.

The diving model component 210 can include a trained dive model or algorithm to determine air compensation needed, as discussed herein. In some instances, the air compensation can be determined in connection with determining one or more metrics associated (e.g., current depth, rate of ascent/descent, etc.) with a diving mode. In some instances, the metrics can be provided to a computing device, for example, for aggregation and analysis. In some instances, the diving model component 210 can determine a dive algorithm to use for the dive device 200 relative to an operation mode. The diving model component 210 can receive the dive algorithm from a computing device.

In additional examples, the diving model component 210 can include one or more machine learning algorithms to classify the movement type, as discussed herein. As described herein, correctly identifying the movement type allows the system to determine whether it needs to add or remove air to maintain buoyancy control without wasting air by performing unnecessary compensation functions. In some examples, the system may learn the hovering depth variation for individual divers based on diver profiles saved and managed by the user profile component 206. For instance, a diver with a larger lung capacity may exhibit greater hovering depth variation, thus exhibit more up and down movement, than a diver with smaller lung capacity.

The control component 212 can include functionality to control the vent valve to add or remove air from the diving system. In some examples, the control component 212 can directly control the vent valve or transmit signal to the vent valve. To add or remove air, the control component 212 may control one or more vent valves in quick bursts or “puffs” for small amount of air compensation or hold the vent valve open for large amount air compensation. To add air, the control component 212 may open an inflation inlet valve to allow air to flow from an air cylinder to the BCD. To remove air, the control component 212 may open an exhaust outlet valve to release air from the BCD. The control component 212 may interact with the buoyancy assistance component 104 to determine the amount of air compensation needed. In various examples, the control component 212 may determine a measured air puff to release a specific volume of air needed as determined by the buoyancy assistance component 204.

The reporting component 214 can include functionality to store one or more metrics associated with one or more sensors and to send such metrics to a computing device. In some examples, the reporting component 214 can aggregate the metrics and send the aggregated metrics to the computing device. In some instances, the reporting component 214 can report the metrics as it is being received to the user interface.

In some instances, the reporting component 214 can correspond to the reporting component 106 of FIG. 1.

In some embodiments, the processor(s) 216 is a central processing unit (CPU), a graphics processing unit (GPU), or both CPU and GPU, or other processing unit or component known in the art.

The dive device 200 also includes additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 2 by removable storage 218 and non-removable storage 220. Tangible computer-readable media can include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Memory 202, removable storage 218 and non-removable storage 220 are all examples of computer-readable storage media. Computer-readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile discs (DVD), content-addressable memory (CAM), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the dive device 200. Any such tangible computer-readable media can be part of the dive device 200.

In various embodiments, the dive device 200 can include applications including but are not limited, a web browser application, a diving application, and the like. During execution on the dive device 102, each of the applications may be configured to cause the dive device 102 to initiate data communications with the computing device(s) 112 over the network(s) 110.

The dive device 102 may be configured to communicate over a telecommunications network using any common wireless and/or wired network access technology. Moreover, the dive device 102 may be configured to run any compatible device operating system (OS), including but not limited to, Microsoft Windows, Mac OS X, Linux, as well as any other common device OS.

The dive device 200 also can include input device(s) 222, such as a keypad, a cursor control, a touch-sensitive display, voice input device, etc., and output device(s) 224 such as a display, speakers, printers, etc. These devices are well known in the art and need not be discussed at length here.

As illustrated in FIG. 2, the dive device 200 also includes one or more wired or wireless transceiver(s) 226. For example, the transceiver(s) 226 can include a network interface card (NIC), a network adapter, a LAN adapter, or a physical, virtual, or logical address to connect to various network(s) 110, or to the computing device(s) 112, for example. The transceiver(s) 226 can comprise any sort of wireless transceivers capable of engaging in wireless, radio frequency (RF) communication. The transceiver(s) 226 can also include other wireless modems, such as a modem for engaging in Wi-Fi, WiMax, Bluetooth, infrared communication, and the like.

FIG. 3 illustrates an example computing device 300 configured to receive dive metrics captured by dive device, in accordance with embodiments of the disclosure. In some embodiments, the computing device 300 can correspond to the computing device(s) 112 of FIG. 1. It is to be understood in the context of this disclosure that the computing device 300 can be implemented as a single device or as a plurality of devices with components and data distributed among them.

As illustrated, the computing device 300 comprises a memory 302 storing a buoyancy assistance component 304, a diving data component 306, a diving model component 308, and an enablement component 310. Also, the computing device 300 includes processor(s) 312, a removable storage 314 and non-removable storage 316, input device(s) 318, output device(s) 320, and transceiver(s) 322.

In various embodiments, the memory 302 is volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. The buoyancy assistance component 304, the diving data component 306, the diving model component 308, and the enablement component 310 stored in the memory 302 can comprise methods, threads, processes, applications or any other sort of executable instructions. The buoyancy assistance component 304, the diving data component 306, the diving model component 308, and the enablement component 310 can also include files and databases.

The buoyancy assistance component 304 can include functionality to receive one or more metrics determined and/or captured by dive device, as discussed herein. In some instances, the buoyancy assistance component 304 can determine the diving model to use based on the operation modes. In some instances, the buoyancy assistance component 304 can perform any statistical analysis on the metrics to determine a variety of signal characteristics.

The diving data component 306 can receive a plurality of metrics and store the metrics in a database. In some instances, the metrics can be indexed by location, time, dive device, sensors, and the like. In some instances, the diving data component 306 can perform any statistical analysis on the metrics to determine a variety of dive characteristics.

The diving model component 308 can train one or more machine learning algorithm to classify the movement type of a user. As described herein, correctly identifying the movement type allows the system to determine whether it needs to add or remove air to maintain buoyancy control without wasting air by performing unnecessary compensation functions. In various examples, the diving model component 308 may learn the hovering depth variation for individual divers based on saved diver profiles, as described herein.

In some examples, the diving model component 308 may train one or more of machine learning models using aggregated data gathered by the diving data component 306. Machine learning generally involves processing a set of examples (called “training data”) in order to train a machine learning model. A machine learning model, once trained, is a learned mechanism that can receive new data as input and estimate or predict a result as output. For example, a trained machine learning model can comprise a classifier that is tasked with classifying unknown input (e.g., an unknown image) as one of multiple class labels (e.g., labeling the image as a cat or a dog). In the context of the present disclosure, the unknown input may include, inter alia, user movement data that is received by sensors, and the trained machine learning model may be tasked with classifying the unknown input as one of multiple class labels. The class labels, in this case, may correspond to a classification of the unknown data as a type of data among multiple different types of data corresponding to different movement types that may or may not need air compensation (e.g., normal breathing movement, movement with intent, jerk movement, etc.). As described herein, the types of movement may correspond to: (1) a breathing variation associated with a diver; (2) a diver proceeding vertically with intent; and (3) jerk movement (e.g., an unintentional kick). The diving model component 308 may learn the hover delta associated with a diver and determine, based on depth changes, that the movement corresponds to the breathing variation associated with the diver. The diving model component 308 may determine, based on high rate of change in depth (based on rate of change exceeding a threshold rate of change) and/or a diver orientation, that the movement corresponds to the diver proceeding vertically with intent. In a case where a depth change exceeds a breathing variation associated with a diver but that a rate of change of depth does not meet or exceed a threshold rate, the diving model component 308 may determine that the motion may be associated with a jerk reaction and may maintain a level hold, for example.

The machine learning model(s) may represent a single model or an ensemble of base-level machine learning models and may be implemented as any type of machine learning model. For example, suitable machine learning models for use with the techniques and systems described herein include, without limitation, tree-based models, support vector machines (SVMs), kernel methods, neural networks, random forests, splines (e.g., multivariate adaptive regression splines), hidden Markov model (HMMs), Kalman filters (or enhanced Kalman filters), Bayesian networks (or Bayesian belief networks), expectation maximization, genetic algorithms, linear regression algorithms, nonlinear regression algorithms, logistic regression-based classification models, or an ensemble thereof. An “ensemble” can comprise a collection of models, as stored by the diving model component 308, whose outputs (classifications) are combined, such as by using weighted averaging or voting. The individual machine learning models of an ensemble can differ in their expertise, and the ensemble can operate as a committee of individual machine learning models that is collectively “smarter” than any individual machine learning model of the ensemble.

In some instances, the diving model component 308 can correspond to the diving model component 120 of FIG. 1 and the diving model component 210 of FIG. 2.

The enablement component 310 can include functionality to enable a buoyancy assistance component for an individual dive device. For example, the enablement component 310 can send the buoyancy assistance component 304 to various dive devices to determine and/or gather dive metrics, update the buoyancy assistance component on the device, and/or push latest dive models to various dive devices. In further examples, the enablement component 310 can provide an instruction or indication to conduct buoyancy assistance testing for an operation mode based at least in part on metrics obtained by dive device.

In some embodiments, the processor(s) 312 is a central processing unit (CPU), a graphics processing unit (GPU), or both CPU and GPU, or other processing unit or component known in the art.

The computing device 300 also includes additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 3 by removable storage 314 and non-removable storage 316. Tangible computer-readable media can include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Memory 302, removable storage 314 and non-removable storage 316 are all examples of computer-readable storage media. Computer-readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile discs (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information, and which can be accessed by the computing device 300. Any such tangible computer-readable media can be part of the computing device 300.

The computing device 300 can include input device(s) 318, such as a keypad, a cursor control, a touch-sensitive display, etc. Also, the computing device 300 can include output device(s) 320, such as a display, speakers, etc. These devices are well known in the art and need not be discussed at length here.

As illustrated in FIG. 3, the computing device 300 can include one or more wired or wireless transceiver(s) 322. The transceiver(s) 322 can be any sort of wireless transceivers capable of engaging in wireless, radio frequency (RF) communication. The transceiver(s) 322 can also include other wireless modems, such as a modem for engaging in Wi-Fi, WiMax, Bluetooth, infrared communication, or the like.

FIG. 4 illustrates an example user interface of the dive device implementing buoyancy assistance, as discussed herein. In some instances, the example user interface can be represented as a diving user interface 400.

In some instances, the diving user interface 400 can present various selectable icons including back icon 402, rapid ascent 404, level hold 406, and normal ascent 408, in a user interface. Further, the diving user interface 400 can represent various data captured by the dive device including dive metrics 410, which can correspond to preselected dive settings and/or metrics collected by dive device, as discussed herein. In some instances, the diving user interface 400 can present different metrics based on the operation mode, such as current operation mode activated, current depth, a maximum dive depth, a maximum descent rate, and/or a maximum ascent rate, as determined by sensor data received by the dive device. In various instances, the diving user interface 400 can present additional information including current time, water temperature, air in cylinder, battery life, and the like.

In the present example, the diving user interface 400 presents a sample user interface while in level hold operation mode as indicated by the highlight around level hold 406. The user may activate rapid ascent mode or normal ascent mode by selecting rapid ascent 404 and normal ascent 408, respectively.

In some instances, the diving user interface 400 can be generated by the buoyancy assistance component 204 and reporting component 214 and include sensor data received by the sensor component 208, as discussed herein. The sensor data may indicate dive metrics including current depth, air remaining in air cylinder, current ascent/descent rate, total dive time, current time, temperature, time to surface (TTS), and remaining no-decompression time (NDT). Of course, the example user interface is not limited to the diving user interface 400. Further, the selectable icons are not limited to back icon 402, rapid ascent 404, level hold 406, and normal ascent 408.

FIGS. 5 and 6 illustrate example processes in accordance with embodiments of the disclosure. These processes are illustrated as logical flow graphs, each operation of which represents a sequence of operations that can be implemented in hardware, software, or a combination thereof. In the context of software, the operations represent computer-executable instructions stored on one or more computer-readable storage media that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described operations can be combined in any order and/or in parallel to implement the processes.

FIG. 5 illustrates an example process 500 for activating a buoyancy assistance component and controlling descent toward maximum depth, as described herein. The example process 500 can be performed by the dive device 102 and 200 (or another component), and other components discussed herein. Some or all of the process 500 can be performed by one or more devices, equipment, or components illustrated in FIGS. 1-3, for example.

At operation 502, the process can include receiving input indicating a max dive depth and a max descent speed. In some instances, the operation 502 can be performed by the dive device using the buoyancy assistance component 104 or 204, for example. In some instances, the operation 502 can receive input accepting a default maximum dive depth and a default max descent speed or can receive input setting a user specified max dive depth and a user specified max descent speed.

At operation 504, the process can include receiving first sensor data indicating a rate of descent. As discussed herein, the dive device can monitor sensor data and provides metrics (e.g., information about depth, rate of descent or ascent, air remaining in tank, dive time, etc.) indicative of the diving conditions to a computing device for subsequent analysis. In some instances, the operation 504 can include functionality to receive one or more metrics determined and/or captured by dive device, as discussed herein.

At operation 506, the process can include determining that the rate of descent is higher than the max descent speed. As a safety feature, the system can include functionality to constantly monitor the rate of descent relative to the max descent speed and the rate of ascent relative to the max ascent speed. The operation 506 can determine that the rate of descent is higher than the max descent speed.

At operation 508, the process can include transmitting a signal to an inflation valve to add air to a buoyancy control equipment. For example, the operation 508 can include functionality to control the vent valve to add or remove air from the diving system. In some examples, the operation 508 can directly control the vent valve or transmit signal to the vent valve. To add or remove air, the operation 508 may control one or more vent valves in quick bursts or “puffs” for small amount of air compensation or hold the vent valve open for large amount air compensation. To add air, the operation 508 may open an inflation inlet valve to allow air to flow from air cylinder to the BCD.

At operation 510, the process can include receiving second sensor data indicating a current depth level is within a predetermined threshold from the max dive depth. As a safety feature, the system can include functionality to constantly monitor the current depth level relative to the max dive depth. The operation 510 can determine that the current depth level is nearing the max dive depth and determine to perform functions to prevent the diver from dropping below the max dive depth.

At operation 512, the process can include activating level hold function. The level hold mode may be activated by a diver using or controlling the dive equipment or it may be activated by the operation 512 in descent mode as the system approaches a maximum depth, per safety functions. In level hold mode, the operation 512 may adjust the amount of air in the BCD to hover at the predetermine depth level. To “hover” or maintain level at the predetermined depth, the operation 512 can adjust the air in the BCD to establish neutral buoyancy.

FIG. 6 illustrates an example process 600 for activating and performing level hold function with the buoyancy assistance, as described herein. The example process 600 can be performed by the dive device 102 and 200 (or another component), in connection with the computer device 112 and 300 (or another component), and other components discussed herein. Some or all of the process 600 can be performed by one or more devices, equipment, or components illustrated in FIGS. 1-3, for example.

At operation 602, the process can include receiving input indicating a level hold function at a predetermined underwater depth level. The level hold mode may be activated by a diver using or controlling the dive equipment or it may be activated by the operation 602 in descent mode as the system approaches a maximum depth, per safety functions. In level hold mode, the operation 602 may adjust the amount of air in the BCD to hover at the predetermine depth level. To “hover” or maintain level at the predetermined depth, the operation 602 can adjust the air in the BCD to establish neutral buoyancy.

At operation 604, the process can include receiving first sensor data indicating a first current depth level is less than the predetermined underwater depth level by at least a predetermined threshold. Once level hold mode is activated, the operation 604 may determine to add or remove air from the dive system to perform the level hold function. Because air is a critical consumable resource underwater, the operation 604 intelligently manages air consumption by adding or removing air as appropriate to maintain buoyancy control. Additionally, because large bodies of water may have naturally occurring currents or movement, the buoyancy assistance component 204 may use one or more sensors to capture data to determine, based on the type of movement detected, whether the to: (1) refrain from adding or removing air; (2) deactivate a level hold function; or (3) perform a level hold function. The operation 604 may determine to refrain from adding or removing air if the movement detected is based on expected underwater movement. For instance, if the diver using the diving equipment has established neutral buoyancy at a predetermined depth, the system may detect up and down movement associated with natural breathing cycles of the diver. Accordingly, the operation 604 detecting a slight up and down rhythmic movement may determine to not compensate for changes in depth if the movement occurs within various time and/or depth parameters.

At operation 606, the process can include transmitting a first puff signal to actuate an inflation valve to add air into a buoyancy control equipment. For example, the operation 606 can include functionality to control the vent valve to add or remove air from the diving system. In some examples, the operation 606 can directly control the vent valve or transmit signal to the vent valve. To add or remove air, the operation 606 may control one or more vent valves in quick bursts or “puffs” for small amount of air compensation or hold the vent valve open for large amount air compensation. To add air, the operation 606 may open an inflation inlet valve to allow air to flow from air cylinder to the BCD.

At operation 608, the process can include receiving second sensor data indicating a second current depth level. The operation 608 may receive second sensor data indicating a second current depth level and determine or not to maintain level hold. The operation 608 may deactivate level hold function if the system determines that the diver using the diving equipment is proceeding upward or downward with intent. For instance, a diver may approach an object in an environment, such as a reef wall, and want to dive under an opening. In the present example, the system may determine that the diver is proceeding with intent and may deactivate itself to allow the diver to move freely rather than to control a buoyance of the system to maintain a depth. The diver may manually reactivate the level hold function when done exploring.

Additional Detailed Description

The detailed description provided below in connection with the appended drawings is intended as a description of the present examples and is not intended to represent the only forms in which the present example may be constructed or utilized. The description sets forth the functions of the example and the sequence of steps for constructing and operating the example. However, the same or equivalent functions and sequences may be accomplished by different examples.

The examples below describe a smart buoyancy compensation device for controlling buoyancy of an aquatic structure. Although the present examples are described and illustrated herein as being implemented in an aquaculture system, the system described is provided as an example and not a limitation. As those skilled in the art will appreciate, the present examples are suitable for application in a variety of different types of commercial diving, government/military, scientific and commercial fishing/aquaculture such as multi species aqua forests, fish pens, shellfish growing structures, biofuels production, seaweed growing structures, salvage systems and the like.

According to the particular application, SBCDs are utilized to maintain or move the relative position of farming structures to a depth sent to them by a master control unit. Such a system avoids any out of plain buckling by adjusting the individual buoyancies at the same speed regardless of different loads that may be applied to them.

Such systems advantageously allow a crop and structure that is typically protected from ocean surface pollution and any near surface parasites/impurities, storm, tidal race, surface shipping traffic and the like. Depth can be controlled on a time basis or in response to ambient conditions and nutrient cycle needs for a particular aquaculture crop. The SBCD systems may provide day light hours hold or return to near surface optimum position. Typical conditions the SBCD is capable of accommodating include an at sunset drop to 30 meters depth, when larger waves or shipping activity is detected then drop to 5 meters, and for harvesting a return to the surface.

The buoyancy controlled structures described herein are typically designed to autonomously lift/lower objects underwater without miles of expensive ropes/chains, cranes, diving crews, and the like.

The SBCD controlled systems described herein are important to the operation of low cost seaweed growing systems to maintain and change depth without either buoys or anchors. This capability means that free-floating structures can submerge to allow ship passage, avoid storms, access nutrients, or enter currents moving in a different direction than the surface current. The issue of efficient buoyancy control for underwater seaweed rigs and the like may be provided by the buoyancy control systems described below.

FIG. 7 is a block diagram showing an exemplary buoyancy control system utilized for raising and lowering an aquatic structure 709. The SBCD 701 monitors and controls buoyancy. At least one of a plurality of SBCDs may be utilized in any given aquatic system to control buoyancy of an aquatic structure. In particular the SBCD has the ability to control the buoyancy of a structure changing its depth at any rate, or rates, and causing it to hover at a desired depth. Since an objective is typically to hover at a fixed elevation above the seafloor, precise autonomous (computer) control of the valves and pumps or a buoyancy bladder system is important to achieving autonomous, precise, and trouble free operation.

The SBCD controller 703 typically provides the following buoyancy control: (1) maximum depth, (2) maximum descent speed (typically pre-set), (3) maximum ascent speed (typically pre-set), (4) controlled ascent (at an exemplary 30 ft/min) with stops if desired, and if the computer calculates that they are required, (5) emergency ascent (at an exemplary controlled maximum speed of 60 ft/min), (6) level hold (maintains the structure depth, (7) automatic ascent to the surface when computer calculates from the buoyancy tank sender that the air remaining in the tank is at set level.

The SBCD 701 is an automatic buoyancy system that includes a control unit 703 having a processor 719 and memory 721 with software or firmware providing unique buoyancy control processes, valves 723 to convert signals from the processor to inflation and deflation actions. Also, part of the system is at least one of a plurality of sensors 717 coupled to at least one of the SBCD control units that provide information on ambient conditions (including depth, pressure, current, velocity, acceleration, or any parameter that may be needed as known to those skilled in the art to control buoyancy ascent, descent and the like). SBCD system power may be provided by batteries, an external solar panel or the like (not shown).

The processor 719 controls electro/pneumatic supply valves 723 which in turn control unique vent valves 707 (injection and exhaust valves). Commands to the various valves are typically either stored on the microprocessor or sent to it, or a combination of the two. Supply valves 723 are typically supplied air from a source 725 that can be a tank of compressed air, an external air-line, or the like.

The SBCD uses a processor (processor includes controller, PLLCs, microprocessors, or their equivalents) 103 linked to sensors on the object to be controlled to note conditions including water pressure and changes in water pressure to calculate the depth and speed of the device.

A bladder or buoyancy device 705 that may change volume 711, is provided for buoyancy.

At least one of a plurality of automated exhaust, or vent valves 707 is coupled to the bladder to release air 715 to decrease buoyancy. The vent valves 707 are in electrical and/or pneumatic communication with the control unit 703. Vent valves 707 such as described in “BUOYANCY VEST VENT VALVE WITH RELIABLE SEATING” U.S. Pat. No 9,663,203, issued Jun. 16, 2016, the disclosure of which is incorporated herein in its entirety, may be employed in the SBCD system.

The structure 709 may be any of the structures described herein, or equivalently any type of aquatic structure in which buoyancy is sought to be controlled.

In the case of a plurality of SBCDs they may be networked under a master controller (not shown) or may function independently if desired. SBCDs, as implemented for the systems described herein, typically include a plurality of communicating SBCDs to raise, lower, and hover 713 any size ocean structure or system, even with large waves passing overhead.

For example: (1) SBCDs may control the top of an exemplary raft seaweed-growing structure to hover an exemplary 1 meter+0.2 m, below the troughs of 2 meter high waves, (2) a wave motion/force sensor disposed on the top of a structure communicates to the SBCDs causing it to change hover depth in real time to optimize the sunlight available to seaweed and extend the life of the structure, reducing costs (During exemplary 1 meter high waves, the structure might be an exemplary 0.5 m below the troughs. During exemplary 10 meter storm waves, the structure might be positioned to an exemplary 15 meters below the troughs to reduce forces on the structures, seaweed, and anchors.), (3) SBCDs can maintain a certain depth on towed components such as a rope or ribbon moving to-from shearing in an exemplary harvest bag, or maintaining the top of an exemplary 20,000 ton full harvest bag net at an exemplary 25 meter depth while it is towed/winched a few hundred kilometers or so, by a transport vessel.

SBCD System Operation

The control unit (FIGS. 5-7 of U.S. Pat. No 9,663,203, issued Jun. 16, 2016, the disclosure of which is incorporated herein in its entirety) typically operates as follows:

Inflation—When the processor decides that air should be added to the SBCD bladder, an electric pulse is sent to an inflation electro-pneumatic solenoid valve, which opens allowing low pressure air to enter the SBCD bladder via the inflation port. The computer decides the length of the pulse, and thus, the amount of air added to the bladder.

Deflation—When the processor decides that air should be removed from the BSCD bladder, an electric pulse is sent to a deflation electro-pneumatic solenoid, which opens allowing low-pressure air to enter a small cylinder. The piston in this cylinder is connected to a deflation vent valve. When this deflation vent valve opens it allows air in the SBCD bladder to escape via a port in the controller. The computer decides the length of the pulse, and thus, the amount of air added to the bladder.

Artificial Intelligence—The SBCD system is designed to emulate a variety of conditions for operation of the structure.

In a typical system when air is added or removed from the bladder, a longer pulse is sent (rather than a series of short pulses). Then, after a predetermined time a correction may be made if determined to be needed. Pulse length is typically dependent upon a measured deviation from a desired speed or depth. In addition, small changes in buoyancy may be filtered out if desired.

FIG. 8 is a diagram illustrating the abilities of a smart buoyancy compensation device utilized in diving that provides automated hands free controlled descent 801, depth limit 807, hover 805, and controlled ascent 803. The diving SBCD allows a diver to change depth at any rate and hover at any desired depth. SBCDs are used in scuba diving equipment to enable the diver to have hands free controlled descent, depth limit, hover, and controlled ascent.

A description of a diving buoyancy control device suitable for modification as known to those skilled in the art to achieve the functions described herein is further described in “BUOYANCY VEST VENT VALVE WITH RELIABLE SEATING” U.S. patent application Ser. No. 15/607,609, filed May 29, 2017, the disclosure of which is included in its entirety by reference.

SBCD commands utilized from such a diving system can include: (1) Stay at the depth commanded, (2) Descend to a new depth at a controlled speed, and (3) Rise to a new depth at a controlled speed. The controller then sends signals to the valves to adjust the buoyancy in the bag by releasing or adding compressed gas from or to the buoyancy bag, typically incorporated into a diver's vest.

In such a system advantageously utilized in a SBCD, the depth and speed of the device, and thus the system, are monitored around 10 times a second and adjustments made until the commanded conditions are met. A system of artificial intelligence is used to make human style adjustments rather than many small adjustments. This tends to save compressed gas and power.

FIG. 9 shows the SBCD buoyancy tube structure 901 as utilized in aquaculture applications. For aquaculture applications, SBCDs typically use a buoyancy tube, that may be partially inflated to hover at selected depth. Near the surface the tube is inflated and is almost completely deflated at depth. The air in the tube combined with the ballast (rocks, or the like) 903 keeps the overall structure neutrally buoyant. The tube may also house the SBCD controller 703.

The fundamental principle of the SBCD is that it inflates or deflates a buoyancy control unit which can be a buoyance bag, or bladder structure (for example 705 of FIG. 7), or rigid buoy that is inflated by a gas or other gas. The bladder may also be equivalently replaced by a rigid structure 905, such as a spherically shaped object. By removing, typically by pumping, or the like.

FIG. 10 shows a top view of an SBCD controlled aquatic structure having sections of adjustable depth rings 1003 from which seaweed may hang on bands 1001 as it grows (seaweed farming). In this application, the SBCDs operate to control the structure having more inertia and hovering closer to the water surface. The structure shown can change depth at any rate and hover at any desired depth as controlled by a SBCD. For aquaculture, the SBCD's may use the above described buoyancy tube, that is partially inflated to hover at a selected depth.

The SBCD will slowly adjust the depth over months as sea life (seaweed, crustaceans, etc.) grow and change the net buoyancy of the structure, or over minutes should any forces try to move the system from its set depth.

The SBCD senses its depth for an exemplary 10 times a second, and can add and release air to and from the buoyancy tube in tenths of a second increments.

Without this precise control, minor depth excursions, even the changing pressure of waves above the structure, would cause changes in its depth. By deflating the tube, the structure can be taken to an exemplary set depth (up to 1000 m) at a controlled speed.

To ascend, the SBCD may add air to the bag. If left unadjusted, the system would rise at an uncontrollable increasing speed because of the expansion of the tube, but the SBCD releases air to control the ascent speed to a pre-set maximum rate.

In particular, for seaweed farming buoyancy tubes are attached to sections of the farming system. The farming system is formed from a series of concentric rings of tubes, the largest being up to 9 km diameter. Seaweed grows on bands hanging from radial lines hanging from the rings. In an exemplary application, over 50,000 buoyancy tubes and associated control systems may be required per farming system. Each buoyancy tube has an exhaust valve(s), computer and controller coupled to it. Each computer is linked to a central control which issues prescribed depth commands. And finally, each computer is autonomous in taking its tube to the required depth and maintaining that depth.

This application also utilizes communication between land/control platform and the SBCDs; between SBCDs; and between remote sensors and SBCDs. A pressure/depth sensor (not shown) hanging an exemplary 10 meters below the structure may be utilized to avoid SBCDs depth “hunting” due to waves.

FIG. 11 shows a SBCD harvest bag recovery system. This is a buoyancy bag alternative to rigid shell buoyancy control. Radio or ultrasonic controlled from surface boat with power from generators and compressor for air supplies. No surface buoys. Once cut from the seaweed farm, the seaweed is transported to a processing station in a bag 1101 containing up to an exemplary 20,000 tons of seaweed. The bag is typically towed 1103 under water. In this example, an automatic buoyancy system 1105 is coupled to the bag to maintain a prescribed depth regardless of the angle of tow, which tends to avoid having the bag colliding with the farming system or shipping.

FIG. 12 shows a SBCD lobster pot retrieval system. This system includes a SBCD 701 attached to lobster pot traps 1201 so they can be easily retrieved. The SBCD-controlled lobster trap can be signaled 1203 by the boat 1205 to ascend at less than an exemplary 0.1 m/sec to the surface for collection by a boat 1205.

In this example, an automatic buoyancy system is attached to a lobster pot. An antenna buoy 1207 on the surface is connected to the buoyancy controller 701 on the pot 1201 with an antenna cable 1209. The lobster fisherman sends a signal to the pot as he approaches the vicinity of the buoy, thus, speeding up the retrieval time as no winching from the seabed is needed. The pot rises at a controlled rate and is picked up by the boat. When re-baited the pot is returned to the sea bed at a controlled speed using the SBCD system.

FIG. 13 shows a SBCD salvage operations system. In this application automatic buoyancy systems with large bags 1301 are attached to the object (ship, plane, etc.) 1303. A signal 1305 to inflate the bags can be given from a central point to at least one of a plurality of BCDs 1306 via a radio signal 1305. This signal can be made by wire, radio, or ultrasonic means, but is typically communicated via wire. The signal is typically picked up by a buoy with a receiving antenna 1307, that transfers the signal to the SBCDs via a cable. Each controller autonomously inflates and deflates its bag 1301 to maintain a predefined ascent speed. In the case of ancient relics, a very slow ascent rate is typically necessary to avoid damage to the object 1303. The SBCD system uniquely enables this speed to be maintained.

FIG. 14 shows a SBCD unexploded bomb removal system. In this system application utilizing an SBCD, an automatic buoyancy system 1409 (including a buoyancy bag 1407) or systems is attached to the bomb 1411. Signals can be sent to the controllers 1409 by wire, radio, or ultrasonic transmission 1401 to give adjustment commands to a buoy 1403 with a receiving antenna and in communication with the SBCD via a cable 1405. Each controller then maintains its prescribed speed or depth autonomously. A slow ascent is maintained avoiding detonation of the bomb. On conventional bomb retrievals, divers are typically required in the water to control the speed. There is no need for manned operations with the above described system.

FIG. 15 shows a SBCD trawler, or hanging fishing net system. This system is used to control the depth of trawled or hanging fishing nets 1511. A plurality of automatic buoyancy systems 1507, 1509 are attached to fishing nets. The nets are then controlled to prescribed depth by each system independently. The systems can be adjusted by the fishermen by signals 1501 sent to the controllers by wire, radio, or ultrasonic means, received by an antenna buoy 1503 and transmitted to the SBCDs via a cable or cables 1505. The nets can be raised to the surface on a radio command from the fishing boat.

FIG. 16 shows a SBCD smart buoy aqua-forest. In this system a retractable central control master unit 1601 is deployed to the surface to monitor roughness of the seas and detect high currents 1602. The master unit may also be withdrawn, or retracted 1605. It is coupled to a plurality of SBCDs 1611 with corresponding buoyancy devices 1609, each coupled to a corresponding aqua forest structure 1613. Each aqua forest unit 1613 is strung together in series with each end tethered to a seafloor anchor 1607. SBCDs may also be disposed in each anchor cable end 1615, 1607. In alternative examples, individual aqua forests may be arranged in alternative structures such as grids and the like.

Aqua-forestry generally refers to an artificial eco system analogous to that of a kelp forest. However, in an aqua-forest, any type of seaweed may be utilized in conjunction with desired fish and shellfish species, including combinations of penned finfish, shellfish, seaweed, free range fish, and crustaceans. Shellfish grown around fish pens tend to remove both sea lice and fish feces. The aqua-forest approach to aquaculture may also decrease the cost of finfish aquaculture.

FIG. 17 shows a SBCD controlled fish pen system. SBCDs automatically add or remove air buoyancy to maintain desired structure buoyancy. The system may be radio or ultrasonic controlled 1701 from a surface boat or shore station. Advantageously there are a reduced number of, or no surface buoys needed. Also, there is no need for expensive anchors and/or moorings requiring regular maintenance and repair. A cage structure 1709 is provided to contain the fish, and it is fitted with SBCDs 1705 including buoyancy structures 1703 and optionally gas cylinders 1707 for systems injecting gas to control buoyancy.

In alternative examples, aqua-forestry can be constructed in trampoline-like layers in the pen structure. The layers allow, finfish, shellfish, and seaweed all share the same area in substantially vertical layers or arrangement. The shellfish and seaweed might be denser than when they are farmed separately from finfish due to the improved nutrient recycling and/or nutrient remediation by substantially collocating the species to form an artificial forest. The finfish may cost-effectively enjoy more productivity per area with less finfish density per water volume. The finfish's lower volume density should help reduce the spread of disease and pathogens.

FIG. 18 shows a SBCD winch activated depth control system. This SBCD controlled winch system may be used in conjunction with the previous examples to replace the previously described buoyancy chambers in which buoyancy is controlled by adjusting air volume of pumping water in a rigid vessel and compressing the air contained in it. Here, a buoy 1809 of fixed positive buoyancy is tethered to the winch via a cable 1803, and it is simply raised and lowered (along with any structure coupled to it) under control of the SBCD 1807 attached to the buoy (and coupled to the winch via a control cable 1805) by a winch 1801 located on the sea floor. This system may be wire, radio, or ultrasonic controlled from a surface boat or shore station (not shown). By using a sea floor anchored system surface buoys are reduced or eliminated.

FIG. 19 shows a SBCD water pressure depth control system. As previously mentioned in the above paragraphs, water pressure may be used in a rigid vessel 1907 containing a compressible gas 1913 rather than a bladder to provide a variable buoyancy device. Rigid partially water-filled spheres, pipes, or the like may use electric pumps 1911 to remove or add water 1915 to change buoyancy. As in previous examples, radio or ultrasonic control from a surface boat with power from generators or solar panels may be utilized. The system may be further simplified by utilizing workboat mounted pumps to pump water (or alternatively compress air or pump a vacuum).

Under SBCD 1909 control, a reversible pump 1911 attached to a rigid vessel 1907 that is partially filled with air either fills the vessel with water 1905, compressing and reducing the air volume, or removes water increasing the air volume 1901 making the structure more buoyant. Also, a neutral buoyance state may be obtained 1903 by adjusting the proportions of water and air.

FIG. 20 shows cross sections of the hard shell pipe buoyancy adjusting buoy. Whether utilizing bladders or rigid buoyancy devices 2001, the SBCD systems can effectively adjust the buoyancy of collapsing (balloon-like) or hard-shell gas containers of this figure so that: a submerged structure can hover a few feet below wave troughs at a constant distance from the sea floor with a tropical storm passing overhead, and submerged structures can be made to move up or down or hover at constant depth even with changing current.

The physical buoyancy adjustment is made by adding 2003 or removing 2004 water (using compressing air, or pumping water in or out) inside rigid cylinders 2001 or spheres. The cylinders can be as simple as HDPE-coated corrugated steel storm drain pipe with crush depth near the maximum expected. The figure shows two ways to compress or pull a vacuum in the pipe sections. In the Aqua-Forestry context, most pumping is done slowly when the structure is near the ocean surface. The buoyancy only changes by opening the valve moving water. The rigid structure means buoyancy does not change with changing depth. For months at a time, the structure is on the surface with slowly increasing air volume to balance increasing biomass (shellfish, barnacles).

Regarding the pressures, shown in the left side of the figure shows a version where a workboat-mounted pump “charges” the cylinders with air or vacuum while harvesting the heavy crop (shellfish). This simplified arrangement is appropriate for current shellfish farming. The right side of the figure represents systems conditions with distributed pumps and solar power panels mounted on the structure.

In general, pumping water is much more energy efficient than is compressing air. Submersible pumps are off the shelf and commonly available. The amount of energy storage will be determined by what is needed to create overall positive buoyancy when returning from maximum submergence depth. A moored Aqua-Forestry system might only need to match the shellfish-paced change of buoyancy. The current might push moored Aqua-Forests to the seafloor. Conversely, reduction of current allows moored Aqua-Forests to pop up. With unmoored Aqua-Forests, a little stored energy may be needed to switch from neutral to positive buoyancy at max depth. Max depth and rate of depth change is limited by the sea-life's sensitivities. The obvious stored energy could be gas pressure in containers, a central cache of high-pressure air, or batteries for the pumps.

FIG. 21 shows an SBCD depth and buoyancy control system with non parallel moorings. Existing structures farming sea vegetables (aka seaweed), shellfish, or penned finfish (sometimes combinations) often employ trapezoidal and single point moorings 2111. Without depth and buoyancy control, the lead buoy size and the mooring line horizontal length are typically established by the maximum surface current and wave height. This is because the aft buoy 2101 will remain on the surface, exposing the entire structure to the maximum waves even should the lead buoy 2103 be pushed deep below the surface by the strong current 2109 associated with powerful storms.

The lead buoy may advantageously incorporate SBCD depth and buoyancy control 2113. In contrast, an Aqua-Forestry system equipped with a SBCD control system sinks intermediate and aft buoys as the current, or the wave height increase beyond a sub-maximum set limit. The control over intermediate and aft buoy sinking is such that they may hover 2107 at the same elevation as the lead buoy, and would return to the surface with the lead buoy. For example, if the structure grows sea vegetable adequately when it remains on the surface 2105 for 90% of the daylight time, the components are all designed for two situations: (1) surface current and waves that are smaller than the design situation 90% of the time; and (2) hover-depth/elevation current and wave water particle velocities that occur during the extreme event at the hover depth. (Water particle velocities will be less than 10% of the surface, current will generally be slightly less than the surface current. The current direction can change more than 180° as a tropical storm passes overhead.)

Vent Valve

In the following paragraphs reference is made to a BCD bladder. The form of the bladder is not important; the present invention many be applied to many different types of bladders. The sole special requirement for the bladder to be used with the present invention is that the vent valves shall be arranged such that there is an open gas path from the gas in the bladder to one of the vents. At least one vent valve is required to fulfil this requirement depending on the range of diver attitudes for which the vent function is available.

FIG. 22 shows a vent valve according to the present invention in the state where the valve is closed. The valve in this example and the following drawings includes provision for powered actuation, which is desirable but not a necessary feature of the valve.

FIG. 23 shows a vent valve according to the present invention in the state where the valve is open through manual actuation or over-pressure.

FIG. 24 shows a vent valve according to the present invention in the state where the valve is open through automatic actuation channel only.

FIG. 25 shows a vent valve according to another embodiment of the present invention in the state where the valve is closed through automatic actuation channel only.

The vent valves in example embodiments shown in FIGS. 22-25 have a conventional manual pull dump 33 in addition to a pneumatically or hydraulically powered piston 27. The pull dump may be on a cord 35 or a lever. A spring 5 applies a pressure to a valve plug 29 to close a seat 30), but which can be overridden by any combination of manual pull action, over-pressure or in these embodiments the powered actuation of the piston. The vent valve shown in FIG. 22 also comprises an inner valve plug 15; however, the vent valve according to another embodiment shown in FIG. 10 comprises only one main valve plug 29.

A compression spring 5 is constrained by walls 8 for more than half its length, which prevents entirely the spring moving laterally side to side in the drawings. The walls 8 can be arranged from opposite sides of the spring 5 or the walls 8 can have another configuration. The compression spring 5 may be a wire spring or a wave spring, or any other type of spring that applies a force to the valve plug 29 towards the direction of the seat 30.

A compression spring 5 will apply an uneven force to the plug 29. Without further constraint, this would tend to allow the plug 29 to move at an angle with respect to the seat 3. To prevent that angular movement, the plug 29 is attached to a guide 9 that maintains the plug 29 such that the face of the plug 29 is parallel to the seat 30 at all times. In FIGS. 24 and 25 the guide 9 is constrained by a cylinder that forms part of the outer cover 1), and in FIG. 25 the guide 9 is constrained by the wall 8 that restricts the spring 5. It is highly preferable that the end of the guide remains outside the cylinder that it moves in, to prevent angular forces jamming the guide 9 in the cylinder.

A hose 7 carrying the gas from the inflator to the actuators is preferably a narrow bore hose. Kynar hoses are available with a 0.8 mm bore and an outer diameter of 3.6 mm, which have the effect of limiting the maximum flow rate when used with typical BCD gas supply pressures to around 20 liters of gas flow per minute, and have a burst pressure exceeding the gas supply cylinder high pressure, such that if the first stage cylinder pressure regulator were to fail, then the hose 7 would not rupture, and therefore there is no risk of the bladder in the BCD being inflated suddenly. Moreover, use of a very small bore hose means that should the hose break, the flow rate into the bladder is much lower than the minimum vent rate if the diver uses the manual vent controls on the vent valves.

A one-way valve 31 is preferably fitted, and the one-way valve 31 is preferably of an umbrella flapper valve construction to provide a positive cracking pressure to prevent water ingress into the BCD when the valve is open.

Vent valves with the features shown namely an input 7, (pressure in which causes a piston 27 to move and open a plug or stopper 29), allowing gas in the bladder to escape through a one-way valve 31. A manual pull-dump 33 is preserved in the preferred embodiment, allowing manual operation of the vent by the diver at any time. The pull-dump cord 35 may be singular or may be combined.

A novel feature of the vent valves in the preferred embodiment is the use of a wave spring to apply even pressure to the plug 29 such that seats evenly.

The use of the wave spring reduces the difference in the spring force across the plug 29 and hence reduces the angle it tries to adopt with respect to the valve seat 30. A wave spring is a type of compression spring built from a series of thin washers that have a wave-like profile. Compressing the washers, which are normally welded together, results in having a reactive force that is even around the circumference of the spring. A wave spring can also provide a greater extension for a particular spring force and spring bound size than a conventional wire compression spring, which can be advantageous in this application.

A key feature of the vent valve is that the plug 29 is not firmly attached to the piston 27, such that pulling the plug 29 via the cord 35 causes the plug 29 to lift off the seat 30 without the piston 27 having to move. The seat at the top of the piston 27 need not be attached to the plug 29.

In all FIGS. 22-25, the valve plug 29 is not fixed to the pneumatic piston rod 20: the rod can push the inner valve plug 15 in the embodiment in FIGS. 7-8, and the main plug 29 in FIG. 25, but does not prevent over-pressure from moving the plug to open the valve, nor prevent manual actuation opening the valve.

In the case of FIG. 25, the valve plug 29 is limited in its movement by adjustment of an exterior cap to the valve to provide a limited or restricted instantaneous flow rate. In that embodiment, the instantaneous flow rate through the over-pressure action is also limited in applications where that is desirable.

In FIGS. 22-24, the automatic actuation of the valve does not move the main valve plug 29, but moves only the inner valve plug 15, through which gas flows. The instantaneous flow rate through that secondary valve comprising the inner valve plug 15 and seat is defined by choice of vent hole dimensions. This enables the automatic actuation of the valve to use a much lower instantaneous flow rate than that when the valve is opened manually or through over-pressure. For optimum automatic buoyancy control, a ratio of 8:1 or 16:1 is desired between the instantaneous flow rate in the over-pressure role and the instantaneous flow rate in the power (automated) actuation role.

The pneumatic power may be provided by an arrangement of gas valves that apply a lower gas pressure, such as 9 bar, to the hose 7 to activate the vent valve, but which in the quiescent or inactive state opens the gas line to the BCD bladder. When the gas hose 7 is a small bore hose, then the volume of the gas vented to the bladder may be kept to a negligible amount.

An alternative to the pneumatic power to activate the vent valve is by use of a bellows containing a liquid such as alcohol or water or silicone oil, and pressure on the bellows by the user causes pressure to build up in the hose 7 and the valve to be opened. The spring bias to the bellows causes the liquid to pull back the piston when the pressure is removed. The pressure may be through a lever or directly on the bellows.

The bellows or the hose 7 have a means through which gas can be drained and fluid topped up, but such means may be in the form of a nipple or filling point; there is no need for a hydraulic reservoir. During the filling process, sufficient provision should be made for the thermal expansion of the hydraulic liquid. This can be accommodated by a partial fill such that expansion of the liquid extends the bellows and contraction causes them to shrink in size, but leaving sufficient movement for the manual action.

The bellows may be implemented in a variety of forms, including a thick walled balloon such as a silicone molding, or it may be a telescoping molding, or it may be a series of telescoping elements with O-ring seals.

FIG. 26 shows an example of a SBCD diving vest. The vest shown advantageously includes, in particular, a controller 2602 and embedded processes that may be adapted for use in the abovementioned systems. The diving vest and its associated components, including processes for controlling dive parameters that may be adapted to SBCD use, are more fully described in co-pending patent application “BUOYANCY VEST VENT VALVE WITH RELIABLE SEATING” U.S. patent application Ser. No. 15/607,609, filed May 29, 2017, the disclosure of which is incorporated herein in its entirety.

Those skilled in the art will realize that the terms for a body of water used herein including lake, ocean, sea, river, and the like and are not meant to be limiting to the particular use of the examples described herein to any particular body of water.

Those skilled in the art will realize that the process sequences described above may be equivalently performed in any order to achieve a desired result. Also, sub-processes may typically be omitted as desired without taking away from the overall functionality of the processes described above.

Those skilled in the art will realize that storage devices utilized to store program instructions can be distributed across a network. For example, a remote computer may store an example of the process described as software. A local or terminal computer may access the remote computer and download a part or all of the software to run the program. Alternatively, the local computer may download pieces of the software as needed, or distributively process by executing some software instructions at the local terminal and some at the remote computer (or computer network). Those skilled in the art will also realize that by utilizing conventional techniques known to those skilled in the art that all, or a portion of the software instructions may be carried out by a dedicated circuit, such as a DSP, programmable logic array, or the like.

Conclusion

Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claims. 

What is claimed is:
 1. A system comprising: one or more processors; a memory; and one or more components stored in the memory and executable by the one or more processors to perform operations comprising: receiving an input indicating a dive depth and a descent rate; receiving first sensor data indicating a rate of descent; determining that the rate of descent meets or exceeds the descent rate; transmitting a signal to actuate an inflation valve to add air to a buoyancy control equipment; receiving second sensor data indicating a current depth level; determining that a difference between the current depth level and the dive depth is less than a threshold amount; and activating a level hold function.
 2. The system of claim 1, wherein the signal is a first signal, the current depth level is a first current depth level associated with a first time, and the difference is a first difference, the operations further comprising: receiving third sensor data indicating a second current depth level; determining that the second current depth level is below the dive depth and that a second difference between the second current depth level and the dive depth meets or exceeds the threshold amount; and transmitting a second signal to actuate the inflation valve to add additional air into the buoyancy control equipment.
 3. The system of claim 2, the operations further comprising generating an alert indicating that the second current depth level below the dive depth and that the second difference meets or exceeds the threshold amount.
 4. The system of claim 1, the operations further comprising: receiving third sensor data indicating that an air level is below a threshold air level; and generating an alert indicating that the air level is below the threshold air level.
 5. The system of claim 4, wherein the input is a first input, and wherein the signal is a first signal, the operations further comprising: receiving a second input activating an ascent mode, the ascent mode including: transmitting a second signal to activate the inflation valve to add air additional to the buoyancy control equipment; receiving fourth sensor data indicating that the current depth level is within a threshold safety amount from a safety stop depth; and activating a safety stop mode, the safety stop mode including a level hold mode associated with a safety stop interval.
 6. The system of claim 4, wherein the signal is a first signal, the operations further comprising: receiving fourth sensor data indicating that the air level is below a threshold air level; activating a rapid ascent mode; generating a second alert indicating that the air level is below the threshold air level; and transmitting a second signal to actuate the inflation valve to add additional air to the buoyancy control equipment.
 7. The system of claim 6, wherein the current depth level is a first current depth level, and wherein the difference is a first difference, the operations further comprising: receiving fifth sensor data indicating a second current depth level; determining a second difference between the second current depth level and a safety stop depth; determining that the second difference is within a threshold value; and activating a safety stop mode based at least in part on the second difference being within the threshold value, the safety stop mode including a level hold mode associated with a safety stop interval.
 8. A device comprising: one or more processors; a memory; and one or more components stored in the memory and executable by the one or more processors to perform operations comprising: receiving input indicating a level hold function at a dive depth; receiving first sensor data indicating a first current depth level; determining that a difference between the first current depth level and the dive depth is less than a threshold amount; transmitting a signal to actuate an inflation valve to add air into a buoyancy control equipment; and receiving second sensor data indicating a second current depth level.
 9. The device of claim 8, wherein the difference is a first difference, wherein the signal is a first signal, and wherein the operations further comprise: determining that the second current depth level is below the first current depth level and that a second difference between the second current depth level and the dive depth meets or exceeds the threshold amount; and transmitting a second signal to actuate the inflation valve to add additional air into the buoyancy control equipment.
 10. The device of claim 8, wherein the difference is a first difference, and wherein the operations further comprise: determining that a second difference between the second current depth level and the dive depth meets or exceeds the threshold amount; and monitoring current depth level based at least in part on the level hold function.
 11. The device of claim 10, wherein the operations further comprise: receiving third sensor data indicating a third current depth level; and determining, using a dive model, to deactivate the level hold function based at least in part on the third sensor data.
 12. The device of claim 11, wherein the signal is a first signal, and wherein the operations further comprise: receiving fourth sensor data indicating a rate of ascent; determining that the rate of ascent meets or exceeds an ascent rate; and transmitting a second signal to open an exhaust valve to remove air from the buoyancy control equipment.
 13. The device of claim 11, wherein the signal is a first signal, and wherein the operations further comprise: receiving fourth sensor data indicating a fourth current depth level; determining that the fourth current depth level is below the dive depth and that a third difference between the fourth current depth level and the dive depth meets or exceeds the threshold amount; and transmitting a second signal to actuate the inflation valve to add additional air into the buoyancy control equipment.
 14. A method comprising: receiving an input indicating a level hold function at a dive depth; receiving sensor data indicating a current depth level; determining that a first difference between the current depth level and the dive depth is less than a threshold amount; transmitting a signal to actuate an inflation valve to add air into a buoyancy control equipment; and monitoring, based at least in part on the level hold function, a second difference between the current depth level and the dive depth over a period of time.
 15. The method of claim 14, wherein the signal is a first signal, and wherein monitoring the second difference includes at least one of: in response to a first determination that the second difference between the current depth level and the dive depth is less than the threshold amount, transmitting a second signal to actuate the inflation valve to add additional air to the buoyancy control equipment; or in response to a second determination that the second difference between the current depth level and the dive depth meets or exceeds the threshold amount, transmitting a third signal to actuate an exhaust valve to remove air from the buoyancy control equipment.
 16. The method of claim 14, wherein the input is a first input, and wherein the signal is a first signal, the method further comprising: receiving a second input indicating a normal ascent function; transmitting a second signal to actuate the inflation valve to add additional air into the buoyancy control equipment; receiving a third input indicating a rate of ascent; and controlling the buoyancy control equipment based at least in part on the rate of ascent.
 17. The method of claim 16, wherein the current depth level is a first current depth level, and wherein controlling the buoyancy control equipment comprises: in response to a determination that the rate of ascent meets or exceeds a threshold ascent rate, transmitting a third signal to actuate an exhaust valve to remove air from the buoyancy control equipment; receiving second sensor data indicating a second current depth level; determining that a third difference between the second current depth level and a safety stop depth is less than the threshold amount; and activating safety stop mode.
 18. The method of claim 14, wherein the method further comprises: connecting, via a network, to a computing device; transmitting a dive profile to the computing device; and receiving, via the network and based at least in part on transmitting the dive profile to the computing device, a dive model.
 19. The method of claim 14, wherein the current depth level is a first current depth level, wherein the sensor data is first sensor data, and wherein the method further comprises: receiving second sensor data indicating a change in depth from the first current depth level to a second current depth model; and determining, using a dive model, to deactivate the level hold function based at least in part on the second sensor data.
 20. The method of claim 19, wherein the signal is a first signal, and wherein the method further comprises: receiving third sensor data indicating a third current depth level; determining that the third current depth level is below the dive depth; and transmitting a second signal to actuate the inflation valve to add additional air to the buoyancy control equipment. 